package J19;

import java.util.Scanner;

import rmaqlc31.model.SungJukVO;
import rmaqlc31.service.ArraySungJuk;
import rmaqlc31.service.JDBCSungJuk;

public class J19_SungJuk_v6 {
	
	private static final String title   = "JDBC을 이용한 성적프로그램";
	private static final String menu    = ">>>> 추가 (1)  조회 (2) 수정 (3) 삭제 (4)  종료 (0)";
	private static final String addmsg  = "이름,국어,영어,수학 순으로 입력하세요";
	private static final String modmsg1 = "수정할 데이터 번호를 입력하세요";
	private static final String modmsg2 = "수정할 데이터를 이름,국어,영어,수학 순으로 입력";
	private static final String delmsg  = "삭제할 데이터 번호를 입력하세요";
	private static final String exitmsg = "프로그램을 종료합니다";
	
	public static void main(String[] args) {
		// 오라클 데이터 베이스를 이용한 성적처리
		// ArraySungJuk 대신 JDBCSungJuk으로 변경
		JDBCSungJuk sjsrv = new JDBCSungJuk();
		Scanner sc = new Scanner(System.in);
		
		while(true){
			System.out.println(title);
			System.out.println(menu);
			switch (sc.nextInt()) {
			case 0: sc.close();	
				System.out.println(exitmsg);
				System.exit(0)
				;break;
			case 1:	addSungJuk(sc, sjsrv);
					break;
			case 2:	showSungJuk(sjsrv);
					break;
			case 3:	modifySungJuk(sc, sjsrv);
					break;
			case 4:	removeSungJuk(sc, sjsrv);
					break;
			}
		}
		
	}

	private static void removeSungJuk(Scanner sc, JDBCSungJuk sjsrv) {
		System.out.println(sjsrv.readSungJuk());
			// 삭제하기전에 전체자료를 먼저 출력
		System.out.println(delmsg);
		String sjno = sc.next();	
			// 삭제할 학생번호 입력
		if ( sjsrv.removeSungJuk(sjno) )
			System.out.println("성공적으로 데이터 삭제됨!");;
	}

	private static void modifySungJuk(Scanner sc, JDBCSungJuk sjsrv) {
		System.out.println(sjsrv.readSungJuk());
			// 수정하기전에 전체자료를 먼저 출력
		System.out.println(modmsg1);
		String sjno = sc.next();	// 수정할 학생번호 입력
		System.out.println(modmsg2);
		SungJukVO sj = new SungJukVO(sc.next(),sc.nextInt(),
				 sc.nextInt(),sc.nextInt());
		sj.setSjno(sjno); // !!
		if ( sjsrv.modifySungJuk(sj) )
			System.out.println("성공적으로 데이터 수정됨!");;
	}

	public static void addSungJuk(Scanner sc, JDBCSungJuk sjsrv){
		
		System.out.println(addmsg);
		
		SungJukVO sj = new SungJukVO(sc.next(),sc.nextInt(),
				 sc.nextInt(),sc.nextInt());

		// 입력받은 데이터를 배열에 저장
		sjsrv.newSungJuk(sj);
		
	}//성적 데이터 입력받아 sungjuk테이블에 저장
	
	public static void showSungJuk(JDBCSungJuk sjsrv){
		System.out.println(sjsrv.readSungJuk());
	}//sungjuk테이블에 저장된 성적데이터 모두 출력
	

}
